ELE035 — Integral numérica, derivada e campo girante

Análise numérica em Octave com derivada, integral e visualização de campo girante com injeção de harmônicos.
Data de Publicação

29 de julho de 2026

Análise numérica

Mostrar código
deg = 0:.001:2*pi;
flux = sin(deg);
plot(deg, flux);
xlabel('Passo'); ylabel('Amplitude');
axis([deg(1) deg(end) -1.2 1.2]);

Derivada

Mostrar código
dflux = diff(flux)./diff(deg);
plot(deg(1:end-1), dflux);
xlabel('Passo'); ylabel('Amplitude');
axis([deg(1) deg(end) -1.2 1.2]);

Integral

Mostrar código
i_dflux = cumtrapz(deg(1:end-1),dflux);
plot(deg(1:end-1), i_dflux);
xlabel('Passo'); ylabel('Amplitude');
axis([deg(1) deg(end) -1.2 1.2]);

Plot all

Mostrar código
plot(deg(1:100:end-1), flux(1:100:end-1), '-o', ...
    deg(1:end-1), dflux, '-r', 'Linewidth', 2, ...
    deg(1:end-1), i_dflux, '-b', 'Linewidth', 2);
xlabel('Passo'); ylabel('Amplitude');
axis([deg(1) deg(end) -1.2 1.2]);

No tempo

Mostrar código
t = 0:.0001:2/60;
w = 2*pi*60;
flux_t = sin(w*t);
plot(t, flux_t);
xlabel('Tempo (s)'); ylabel('Amplitude');
axis([t(1) t(end) -1.2 1.2]);

Derivada

Mostrar código
V = diff(flux_t)./diff(t);
plot(t(1:end-1), V)
xlabel('Tempo (s)'); ylabel('Amplitude');
% axis([t(1) t(end) -1.2 1.2]);

Aplicando a teoria de tensão induzida.

\[ V = \omega \lambda \]

Mostrar código
% Valores de pico
V_rms = w * max(flux)
% Valor da derivada
max(V)
V_rms =  376.99
ans =  376.96

Realizando a integral da tensão.

Mostrar código
i_flux_t = cumtrapz(t(1:end-1),V);
plot(t(1:end-1), i_flux_t);
xlabel('Passo'); ylabel('Amplitude');
axis([t(1) t(end) -1.2 1.2]);

Campo girante a partir das correntes

Mostrar código
ia = sin(w*t);
ib = sin(w*t - 2*pi/3);
ic = sin(w*t + 2*pi/3);
Mostrar código
Fmm = ia*exp(j*0) + ib*exp(j*-2*pi/3) + ic*exp(j*2*pi/3);
plot(Fmm)
axis([-1.5 1.5 -1.5 1.5])

Injetando harmônicos

Mostrar código
ia = sin(w*t) + 1/10*sin(5*w*t);
ib = sin(w*t - 2*pi/3) + 1/10*sin(5*w*t - 5*2*pi/3);
ic = sin(w*t + 2*pi/3) + 1/10*sin(5*w*t + 5*2*pi/3);;
Mostrar código
Fmm = ia*exp(j*0) + ib*exp(j*-2*pi/3) + ic*exp(j*2*pi/3);
plot(Fmm)
axis([-2 2 -2 2])